﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:services="clr-namespace:Sebastof.Services.Impl;assembly=Sebastof.Services.Impl"
  xmlns:sebarfServices="clr-namespace:Sebarf.Services.Impl;assembly=Sebarf.Services.Impl"
  xmlns:clientServices="clr-namespace:Sebastof.Client.Services.Impl;assembly=Sebastof.Client.Services.Impl"
  xmlns:process="clr-namespace:Sebastof.ProcessChains.ProcessSteps;assembly=Sebastof.Serialisation"
  xmlns:profiles="clr-namespace:Sebarf.Profiles.WPF;assembly=Sebarf.Profiles.WPF"
  xmlns:core="clr-namespace:Sebarf.Core.Internal;assembly=Sebarf.Core"
  xmlns:sebastof="clr-namespace:Sebastof.Core.Services;assembly=Sebastof.Core.Services"
  xmlns:diagnostics="clr-namespace:Sebarf.Diagnostics;assembly=Sebarf.Diagnostics"
  xmlns:utils="clr-namespace:Sebarf.Utils.Interfaces;assembly=Sebarf.Utils"
  xmlns:processChain="clr-namespace:Sebarf.ProcessChains;assembly=Sebarf.ProcessChains"
  xmlns:security="clr-namespace:Sebarf.Security.Authentication;assembly=Sebarf.Security.Authentication"  
  xmlns:session="clr-namespace:Sebarf.Session.Services;assembly=Sebarf.Session.Services">

    <profiles:ProfileConfiguration x:Key="Profile"
                                  ProfileName="SecurityBasedCacheBasedLazyLoadProfile">
        <profiles:ProfileConfiguration.Services>
            <services:SimpleCache/>
            <services:MetadataLocatorRegisterService Id="LazyLoadingProfile.Client"/>
            <clientServices:ChangeTrackingCacheService/>
            <services:ObjectMappingLocatorRegisterService/>
            <clientServices:DeserializationTargetTypeService/>
            <clientServices:ObjectTrackerMetadataService/>
            <clientServices:ObjectTrackerService/>
            <clientServices:ObservableCollectionCreatorService/>
            <clientServices:LazyLoadingSerializationDataHandlingStrategyService/>
            <services:ObjectTreeHelperService/>
            <sebarfServices:DiagnosticsDataCollectorService/>
            <security:DummyAuthenticationManagementService/>
            <security:UsernamePasswordAuthenticationRequestService/>
            <processChain:ProcessChainManagerService/>
            <clientServices:ChangeHandlerService/>
            <core:RequestRemoteHandlerEngineLocatorService/>
            <session:SignOfLifeSenderService/>
            <services:DatahandlerService/>
            <utils:ObjectHierarchyFlattenerService/>
            <diagnostics:SimpleCheckerService/>
            <diagnostics:SimpleLoggerService/>
            <sebastof:ClientTransmissionOfObjectService/>
        </profiles:ProfileConfiguration.Services>
        <profiles:ProfileConfiguration.Processes>
            <process:DeSerializeObjectTransportContainer >
                <process:ObjectMapperStep>
                    <process:UseCachedObjectStep>
                        <process:UnDecorateObject>
                            <process:CachedOriginalDataObject>
                                <process:ChangeTrackingRegister>
                                    <process:Finalizer/>
                                </process:ChangeTrackingRegister>
                            </process:CachedOriginalDataObject>
                        </process:UnDecorateObject>
                    </process:UseCachedObjectStep>
                </process:ObjectMapperStep>
            </process:DeSerializeObjectTransportContainer>
            <process:DeSerializeCollectionTransporter>
                <process:CollectionMapperStep>
                    <process:UseCachedCollectionStep>
                        <process:UnDecorateCollection>
                            <process:CachedOriginalDataCollection>
                                <process:ChangeTrackingRegisterCollection>
                                    <process:FinalizerCollection/>
                                </process:ChangeTrackingRegisterCollection>
                            </process:CachedOriginalDataCollection>
                        </process:UnDecorateCollection>
                    </process:UseCachedCollectionStep>
                </process:CollectionMapperStep>
            </process:DeSerializeCollectionTransporter>
        </profiles:ProfileConfiguration.Processes>
    </profiles:ProfileConfiguration>
</ResourceDictionary>
